마인크래프트 서버 환경 만들기(구글 클라우드) 1 VM인스턴스 설정
✒️ 2025-05-15 15:11 내용 수정
클라우드로 설정하게 된 계기
- 팰월드 서버를 만들 때와 마찬가지로 친구들과 마인크래프트도 같이 사용하고 있던 서버가 있었는데, 개인 컴퓨터로 서버를 돌리다보니 호스트가 접속하지 못하는 시간대엔 서버 관리가 어려운 것이 문제였다.
- 이로 인해 24시간 가동할 서버를 만들어보자는 생각이 들었고, 마침 팰월드 서버 설정을 함께 진행하면서 마인크래프트 서버 설정도 함께 진행하게 되었다.
- 구글 클라우드에선 신규 고객에게 제공하는 무료 $300 크레딧이 있다. 이를 이용해서 약 한 달간 사용할 24시간 서버를 만들 수 있다.
- 전체적인 흐름은 팰월드 서버 환경 만들기(구글 클라우드) 1 VM인스턴스 설정와 비슷하지만 일부 설정이 달라 따로 기록하게 되었다.
- 서버를 구성하면서 참고한 자료들
VM 인스턴스 생성
- 구글 클라우드 페이지에 접속한다.
- "무료로 시작하기" 버튼을 눌러 결제 등의 정보를 입력하여 진행한다.
- 정보 입력 시 신용카드, 전화번호 인증 절차가 있다.
- 등록 완료 후엔 좌측 상단 더보기 버튼을 눌러 Compute Engine - VM 인스턴스를 선택한다.
- 처음으로 Compute Engine 항목에 들어가면 Compute Engine API를 사용하고 있지 않아 사용 체크를 해야 한다.
- 시간이 약간 소요되지만 설정이 완료되면 바로 서비스를 이용할 수 있다.
- 위쪽에 있는 인스턴스 만들기 버튼을 눌러 새 인스턴스를 생성한다.
- 이제 인스턴스의 이름과 리전 및 영역을 설정한다.
- 이름 : VM 인스턴스 이름으로, 원하는 대로 작성한다.
- 리전 : 서버의 위치로, 한국에서 빠르게 접속할 수 있도록 asia-northeast3 (서울) 로 선택한다.
- 영역 : 기본값인 asia-northeast-a로 선택한다. a,b,c 중 어느 것을 고르던지 상관없다.
- VM 머신의 구성을 설정한다.
- 팰월드의 경우 N2, N2D 등의 옵션을 고려했으나, 참고자료들에선 더 가벼운 머신으로 설정해도 적절하다는 내용이 있었다.
- 자료 1에 따르면 친구들과 간단하게 할 때는 코어 2개, 메모리 6GB 정도면 괜찮다고 한다. 참고 자료의 사진에선 N1에 4코어 18GB로 설정했다.
- 자료 3에선 머신을 E2-medium(코어 1개, 4GB)로 설정하기도 했다.
- 개인 컴퓨터에서 마인크래프트 서버를 몇번 돌려보면서 느낀건 마인크래프트 맵 파일이 커지면서 코어랑 메모리가 넉넉한 것이 좋다고 느껴 코어 2개 메모리 16GB 정도로 설정했다.
- VM 인스턴스를 오래 사용하고 싶다면 머신 구성에서 스펙을 조금 타협하여 월 별 가격이 낮은 것을 선택하고, 단기간 사용에 게임 플레이에는 영향을 덜 끼치고 싶다면 높은 스펙을 선택하면 될 것 같다.
- 아래 부팅 디스크 항목에서 변경 버튼을 눌러 수정한다.
- 운영체제 : Ubuntu로 선택한다.
- 버전 : Ubuntu 22.04 LTS로 선택하고, 머신 구성에 따라 지원되는 아키텍처를 선택한다.
- 현재(2024.09.15) 자주 사용되는 버전 중 하나로 해당 버전을 선택했다.
- N2의 경우엔 Ubuntu 22.04 LTS x86/64, amd64 jammy built on 2024-09-04가 지원된다.
- 부팅 디스크 유형 : 빠른 부팅을 위해 SSD 영구 디스크로 선택한다.
- 크기 :
10~15GB가 적당하여 15GB30GB로 선택했다.- 20241020 내용 추가 : 팰월드 서버 환경 만들기(구글 클라우드) 1 VM인스턴스 설정#VM 인스턴스 생성의 9번 항목과 동일한 이유로 변경했다.
- 약 한 달 반 동안 사용한 후기로는 부팅 디스크의 용량이 너무 작을 경우, GCP나 터미널을 통한 SSH 연결 시도 시 SSH public key를 VM 디스크에 저장할 공간이 부족해 VM에 접속하지 못하는 문제가 발생한다.
1. 부팅 디스크 용량 관련 문제
- 부팅 디스크 용량이 너무 작으면 SSH 연결이 불가능하다.
2. 해결방법
(1) 초기 설정을 진행하는 경우
- VM 생성 시 부팅 디스크 용량을 넉넉하게 설정한다.(30GB 이상 추천)
(2) 초기 설정에서 부팅 디스크의 용량을 너무 작게 설정하고 생성했을 경우
- GCP에서 Storage(저장소) - Disk 항목에 들어가 새 디스크를 생성하고,
이를 사용하는 VM에 연결한 뒤 VM에서 [[하드디스크 추가#2. 파티션 생성]]부터 설정을 진행하여
서버 데이터만 따로 관리할 디스크를 연결한다.
(3) 이미 서버 데이터때문에 부팅 디스크가 꽉 찼을 경우
- 새로운 VM 인스턴스를 생성하고, 부팅 디스크 용량을 크게 잡아준다.
- Storage(저장소) - Disk에서 기존에 사용하던 VM 인스턴스의 디스크를 복사한다.
- 새 VM 인스턴스에 복사한 디스크를 연결한다.
- 새 VM 인스턴스에 SSH 연결을 진행한 후 [[하드디스크 추가#4. 마운트하여 사용하기]]부터 진행하여 디스크를 장치에 연결한다.
- 연결이 완료되면 서버 데이터를 저장할 별도 디스크나 용량이 넉넉해진 새 디스크로 옮긴다.
(옮긴 후 복사본 디스크는 연결을 해제해도 된다)
- 하드디스크 추가 참고.
- 방화벽 설정에서 HTTP와 HTTPS 트래픽 허용을 체크한다.
- 아래 후술할 부가적인 고정 외부 IP 주소 예약 기능을 한다면 설정을 진행하고, 그냥 넘긴다면 만들기 버튼을 눌러 인스턴스를 생성한다.
머신 구성의 부가 옵션
- 고급 옵션에선 부가적인 설정을 진행할 수 있는데, 이 부분은 필요하지 않다면 넘어가도 된다.
- 네트워킹을 누르면 기본 설정들이 뜨며 외부 IPv4 주소를 눌러 고정 외부 IP 주소를 예약할 수 있다.
네트워크 설정
- 인스턴스 생성 후 좌측 상단의 더보기 버튼 - VPC 네트워크 - VPC 네트워크를 선택한다.
- VPC 네트워크에 있는 default를 선택한다.
- 상세 정보 중 방화벽 탭을 선택해 방화벽 규칙 추가를 누른다.
- 방화벽 이름과 대상을 먼저 설정한다.
- 이름 : 어떤 목적으로 사용할건지 구분 가능하도록 설정한다.
- 대상 : 지정된 서비스 계정으로 선택하고, 서비스 계정 범위는 이 프로젝트 내 로 선택한다.
- 소스 IPv4 범위는
0.0.0.0/0으로 설정하여 모든 소스의 접근을 허용한다. - 프로토콜은 마인크래프트 기본 포트인 TCP
25565를 추가한 후 만들기 버튼을 눌러 설정을 완료한다.
- 방화벽 설정을 완료한 후 다시 VM 인스턴스로 돌아와 연결의 SSH를 누르면 인스턴스에 연결할 수 있다.